package com.itheima.d5_pack;

//目标：掌握基本数据类型包装类对象的获取
public class Demo1 {
    public static void main(String[] args) {
        /**
         * 包装类：把基本数据类型的数据用对象封装起来，每一个基本类型都有一个包装类与之对用
         *     基本类型        包装类
         *     byte           Byte
         *     short          Short
         *     int            Integer
         *     long           Long
         *     float          Float
         *     double         Double
         *     char           Character
         *     boolean        Boolean
         *
         * 创建包装类的对象两种方案：
         *     方案1：使用构造器创建对象，比如：Integer i1 = new Integer(10);
         *     方案2：使用静态方法valueOf(数据)，比如：Integer i2 = Integer.valueOf(10);
         */

        //1.使用构造器创建包装类Integer的对象
        Integer num1 = new Integer(666);
        //构造器获取包装类对象，不推荐！
        System.out.println(num1);
        //其他包装类也是一样
        //new Byte("1");
        //new Double(3.14);
        //new Long(1);

        //注意：构造器也能传字符串
        Integer num2 = new Integer("666");
        //注意：只能传入数字字符串
        //Integer num2 = new Integer("abc"); // NumberFormatException：数字格式化异常！
        System.out.println(num2);

        //2.包装类对象推荐使用静态方法valueOf获取对象
        //Integer num3 = Integer.valueOf(666);
        Integer num3 = Integer.valueOf("666");
        System.out.println(num3);

        //其他包装类也一样
        Byte.valueOf("127");
        Long.valueOf("666");
        Double.valueOf("666");
        Character.valueOf('a');
        Boolean.valueOf("true");
    }
}
